package com.ynet.middleground.user.bean;

import com.ynet.core.common.BaseReqObj;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/**
 * @program: 2019-10-12_userCenter
 * @description: 添加港内员工请求对象
 * @author: DaiGaoLe
 * @create: 2019-10-23 15:07
 **/
@Data
@ApiModel(value = "添加港内员工请求对象", description = "添加港内员工请求对象")
public class AddEmployeeReq extends BaseReqObj {

    private static final long serialVersionUID = 8466553340190632828L;
    /**
     * 员工工号
     */
    @NotEmpty(message = "员工工号不能为空")
    @ApiModelProperty(value = "员工工号", notes = "员工工号", dataType = "String", required = true)
    private String employeeNo;

    /**
     * 是否允许登录:0-可用，1-不可用
     */
    @ApiModelProperty(value = "是否允许登录:0-可用，1-不可用", notes = "是否允许登录:0-可用，1-不可用", dataType = "String", required = true)
    @NotEmpty(message = "是否允许登录不能为空")
    @Size(max = 1, min = 1, message = "长度为1")
    @Pattern(regexp = "[01]", message = "是否允许登录:0-可用，1-不可用")
    private String flag;

    /**
     * 头像url
     */
    @ApiModelProperty(value = "头像url", notes = "头像url", dataType = "String")
    private String headPortrait;

    /**
     * 用户账号
     */
    @ApiModelProperty(value = "用户账号", notes = "用户账号", dataType = "String", required = true)
    @NotEmpty(message = "用户账号不能为空")
    @Pattern(regexp = "^[\\x01-\\x7f]*$", message = "不能有中文字符")
    private String userAccounts;

    /**
     * 用户密码
     */
    @ApiModelProperty(value = "用户密码，密码必须是包含大写字母、小写字母、数字、特殊符号（不是字母，数字，下划线，汉字的字符）的8位以上组合", notes = "用户密码，密码必须是包含大写字母、小写字母、数字、特殊符号（不是字母，数字，下划线，汉字的字符）的8位以上组合", dataType = "String")
    private String userPassword;

    /**
     * 手机号码
     */
    @ApiModelProperty(value = "手机号码", notes = "手机号码", dataType = "String", required = true)
    @NotEmpty(message = "手机号码不能为空")
    private String telephone;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名", notes = "姓名", dataType = "String", required = true)
    @NotEmpty(message = "姓名不能为空")
    @Size(min = 0, max = 255, message = "长度为255")
    private String userName;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", notes = "邮箱", dataType = "String")
    private String email;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", notes = "备注", dataType = "String")
    @Size(min = 0, max = 255, message = "长度为255")
    private String remark;
    
    /**
     * 证件种类,00-统一社会信用代码,01-组织机构代码证,02-营业执照,03-税务登记证,04-身份证
     */
    @ApiModelProperty(
            value = "证件种类,00-统一社会信用代码,01-组织机构代码证,02-营业执照,03-税务登记证,04-身份证，" +
                    "05-护照，06-香港通行证，07-澳门通行证，08-台湾居民来往大陆通行证",
            notes = "证件种类,00-统一社会信用代码,01-组织机构代码证,02-营业执照,03-税务登记证,04-身份证，" +
                    "05-护照，06-香港通行证，07-澳门通行证，08-台湾居民来往大陆通行证",
            dataType = "String")
    private String papersType;

    /**
     * 证件编号
     */
    @ApiModelProperty(value = "证件编号", notes = "证件编号", dataType = "String")
    private String papersNo;
    
    /**
     * 山港易付id
     */
    @ApiModelProperty(value = "山港易付id", notes = "山港易付id", dataType = "String")
    private String sgyfId;
}
